{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# AI开发实战基础"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1. Python基本语法：基本运算、列表生成、函数、模块引入\n",
    "2. Matplotlib：安装、引入、使用\n",
    "3. Numpy：安装、引入、使用\n",
    "4. Pandas：安装、引入、使用"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "@Author  : Flare Zhao\n",
    "@QQ-Email & Wechat: 454209979\n",
    "@QQ讨论群：530533630  申请加群的验证信息为订单号（粘贴号码数字即可）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1 2\n"
     ]
    }
   ],
   "source": [
    "a = 1\n",
    "b = 2\n",
    "print(a,b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3\n"
     ]
    }
   ],
   "source": [
    "c = a + b\n",
    "print(c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'list'> [1, 2, 3, 4]\n"
     ]
    }
   ],
   "source": [
    "a = [1,2,3,4]\n",
    "print(type(a),a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'list'> [11, 12, 13, 14]\n"
     ]
    }
   ],
   "source": [
    "b = [x+10 for x in a]\n",
    "print(type(b),b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "#创建加法运算函数\n",
    "def plusFunction(x1,x2):\n",
    "    x = x1 + x2\n",
    "    return x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'int'> 3\n"
     ]
    }
   ],
   "source": [
    "a = 1\n",
    "b = 2\n",
    "c = plusFunction(a,b)\n",
    "print(type(c),c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.5554658441056792\n"
     ]
    }
   ],
   "source": [
    "#库模块的引入\n",
    "import random\n",
    "m = random.random()\n",
    "print(m)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.40221841650637913\n",
      "0.5555969371490296\n",
      "0.781250496751961\n",
      "0.7276330395848676\n",
      "0.07941605531850504\n",
      "0.568306634580863\n",
      "0.6307404452078181\n",
      "0.21754488711653497\n",
      "0.37458416982004594\n",
      "0.33529729871911296\n"
     ]
    }
   ],
   "source": [
    "for i in [1,2,3,4,5,6,7,8,9,10]:\n",
    "    m_i = random.random()\n",
    "    print(m_i)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1, 2, 3, 4, 5] [2, 3, 4, 5, 6]\n"
     ]
    }
   ],
   "source": [
    "x = [1,2,3,4,5]\n",
    "y = [2,3,4,5,6]\n",
    "print(x,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcoAAAHWCAYAAAD3iMk8AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAARIZJREFUeJzt3QlYVGXDxvGbTXADcQUVUUMFVBAQQa20cs1M21RCcQFL0zetbLF8y7LSvrK0MnfFjUzNpdc1l9RcQDYVccUNURA3NhdEmO96ngESgxEU5pyZuX/Xda5mDjPDw0n5+5xz5oyZRqPRgIiIiIplXvxqIiIiEhhKIiIiHRhKIiIiHRhKIiIiHRhKIiIiHRhKIiIiHRhKIiIiHRhKIiIiHRhKIiIiHRhKIiIiHRhKIiIiHRhKIiIiHRhKIiIiHRhKIpX666+/YGZmhjVr1vzra2FhYfJr+/fvL/a5UVFR8uuLFi3619e2bNkiv7Z+/Xp5PzMzE2PHjkXjxo1hbW2NunXromvXroiJiSlxbLdv34arq6tcxO0C169fh6OjIzp06IDc3NxH/MmJ1IWhJFKpzp07w8nJCcuWLfvX18S6J554Au3bty/2uW3btkXTpk2xYsWKf33tt99+g729Pbp37y7vjxgxAjNnzsQrr7yCX375BePGjUPlypVx7NixEscmvi4inJCQgE8++aRw/ahRo5Ceno7Q0FBYWFg84k9OpDLi8yiJSJ3Gjx+vsba21qSlpRWuS01N1VhaWmo+++yzhz7XyspKc/369cJ12dnZmho1amiGDRtWuM7Ozk4zatSoRx6fubm5Zvfu3ZqVK1eKz7bVTJs27ZFei0itOKMkUrGgoCBkZ2dj1apVRWaE9+7dw8CBA3U+t3///sjJycHq1asL1/35559IS0uTXytQo0YNRERE4NKlS2Ue38SJE9GyZUsMHjwYb731Fjp16oS33367zK9DpGZmopZKD4KIStauXTtUq1YNO3bskPcLdreWdHzyfm5ubnL3rQikMGjQIGzevBnJycmwtLSU68TuWRG6u3fvwsfHB88//7wMtNh1WxrieKivry9sbGxw9OhRNGnS5DF+WiL14YySSOVEtHbt2oWkpCScPn0a4eHhD51NFhAzR3FS0NWrV+XM9I8//pDHIgsiKfTr1w9nzpzBTz/9hPr16+Pbb7+Vs8RNmzaV6nuIk4OEO3fu4NSpU4/4UxKpF2eURConIicC9tVXX8kzTL/88ku5m7R27doPfa44Icfd3R2zZs1CvXr18NJLL8lwihOFSpKamgpvb295FuyePXt0vv7hw4flbDIwMBAHDx6UY42Li4Odnd0j/axEasRQEhmAPn364Ny5c3LW1qJFCzkzLC0PDw8ZVRHKgpmpubl2Z5J4C0dWVta/wiZ294pfDZGRkSW+rjj+6efnhxs3bshgnj17tjCaCxYseIyflkhd/tn/QkSq3v366quvytuTJk0q03PF7tdPP/1UHkMMDg4ujGTBeygbNmwoX9vT01MeC922bZsM5NSpU3W+rpjZilnk9u3bUb16dRlk8X0mTJggX08c6yQyBpxREhkAcaKNg4MD8vLykJKSIqNXWuK9js2aNZO3xa7Ujh07FnldETZxso84Tile38XFBW+++SZGjhxZ4muKixGI2aR4zI8//li4XsxQxclGFy9eRHx8vDyjlsjQMZREBkC8HUQcp+zduzfmz5+v9HCITArPeiUyAGvXrsWVK1fkLlgi0i/OKIlUTFwIQJwoI45LihNydF1/lYgqBmeURComrsEqjgOKC5UvXrxY6eEQmSTOKImIiHTgjJKIiEgHhpKIiEgHk7vggHifmLj8l3iDtPjwWiIiMk0ajUZedEO89er+C3HA1EMpIik+TYGIiEi4cOGCvEJVSUwulGImWbBhbG1tlR4OEREpJCMjQ06cCrpQEpMLZcHuVhFJhpKIiMwechiOJ/MQERHpwFASERHpwFASERHpwFASERHpwFASERHpwFASERHpwFASERHpwFASERHpwFASERHpwFASERGpOZQXL17EwIEDUatWLVSuXBmtW7dGVFSUzufs3LkT3t7esLa2houLC0JDQ/U2XiIiMi2KhvLGjRvo2LEjrKyssGnTJhw9ehRTp06Fvb19ic85e/YsevXqhWeeeQYHDx7E2LFjERISgi1btuh17EREZBrMNOIDuRTy0UcfYe/evfj7779L/ZwPP/wQGzZswJEjRwrXDRgwAGlpadi8eXOprhZvZ2eH9PR0XhSdiMgAaTQaZNy5B7vKVo/1OqXtgaIzyj/++ANt27bFa6+9hrp168LLywtz587V+Zz9+/ejS5cuRdZ1795dri9Odna23Bj3L0REZJjy8jT477ojeHXmPlzNytbL91Q0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",
      "text/plain": [
       "<Figure size 500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#matplotlib 引入、使用\n",
    "from matplotlib import pyplot as plt\n",
    "%matplotlib inline\n",
    "fig1 = plt.figure(figsize=(5,5))\n",
    "plt.plot(x,y)\n",
    "plt.title('y vs x')\n",
    "plt.xlabel('xaxis')\n",
    "plt.ylabel('yaxis')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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DS/W1zmuashY/UL0ln+/pvbafW7vvPNO/X7q/5nyTU1jqLk09biq0LHzHF9Oe53077e4uFiPeHl673o5t7W2LKgBUavD9uzZozd1il566SX9+MiRI/r4008/bT3wwAMV9b/++mvrZz/7mTVlyhTryy+/tF577TUrICDASk1NdWR7X375ZWv16tXWwYMHraysLL36zd/f39q4cWO9tHfixIl6Rd2WLVusvLy8iu0///lPRR3VXtXuch9//LEVGBhovfjii/ocq5VxjRo10u13YnufffZZa8OGDdahQ4esXbt2Wffff78VHBxs7d+/v87bq9qhVuTm5ORYn3/+ud738/OzPvjgA8ed28tpr53n1pPKq0iddo5r2l47z/Hvf/97/f+a+vegztvAgQOtq6++Wq82t+vcEpSGyycqb2PHjtXH1U/1D63yc3r06GFdccUVVvv27fXyaqe294UXXrCuu+46/Q+/RYsW1oABA6zNmzfXW3uraqvaLjxnqr3l7S+3fPlyq1OnTvocq8tx3n//fce2d/LkydbPf/5z3dbQ0FBr6NCh1u7du+ulvQ899JDVtm1b/d7XXHONdeedd1aETlVttfPcXk577Ty31Q0ep53jmrbXznM8atQoKzw8XL9369at9X52drbHttbHueVrtgAAMGCOEgAAA4ISAAADghIAAAOCEgAAA4ISAAADghIAAAOCEgAAA4ISAAADghIAAAOCEgAAA4ISAAADghLwEd99953+jr7nn3++oiwjI0N/F2TlrykC8CNuig74kHXr1snIkSN1QHbu3Fl69OghI0aMkJdeesnupgGORVACPiY+Pl42btyov7xXfRnvjh07JCgoyO5mAY5FUAI+5uzZsxIdHS1Hjx6VXbt2Sbdu3exuEuBozFECPubQoUPy7bffSllZmRw+fNju5gCOR48S8CE//PCD9OnTR89NqjnKV155RQ+/tmzZ0u6mAY5FUAI+ZMqUKbJy5Ur57LPPpEmTJnLbbbeJy+WStWvX2t00wLEYegV8xJYtW3QP8u2335aQkBDx9/fXjz/66CNJTk62u3mAY9GjBADAgB4lAAAGBCUAAAYEJQAABgQlAAAGBCUAAAYEJQAABgQlAAAGBCUAAAYEJQAABgQlAAAGBCUAAOLZ/wPC4vYiCoN95AAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 500x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig2 = plt.figure(figsize=(5,5))\n",
    "plt.scatter(x,y) # 散点图\n",
    "plt.title('y vs x')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'numpy.ndarray'>\n",
      "[[1. 0. 0. 0. 0.]\n",
      " [0. 1. 0. 0. 0.]\n",
      " [0. 0. 1. 0. 0.]\n",
      " [0. 0. 0. 1. 0.]\n",
      " [0. 0. 0. 0. 1.]]\n"
     ]
    }
   ],
   "source": [
    "#numpy的引入、数组生成、运算操作\n",
    "import numpy as np\n",
    "a = np.eye(5)\n",
    "print(type(a))\n",
    "print(a)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'numpy.ndarray'>\n",
      "[[1. 1. 1. 1. 1.]\n",
      " [1. 1. 1. 1. 1.]\n",
      " [1. 1. 1. 1. 1.]\n",
      " [1. 1. 1. 1. 1.]\n",
      " [1. 1. 1. 1. 1.]]\n",
      "(5, 5)\n"
     ]
    }
   ],
   "source": [
    "b = np.ones([5,5])\n",
    "print(type(b))\n",
    "print(b)\n",
    "print(b.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'numpy.ndarray'>\n",
      "(5, 5)\n",
      "[[2. 1. 1. 1. 1.]\n",
      " [1. 2. 1. 1. 1.]\n",
      " [1. 1. 2. 1. 1.]\n",
      " [1. 1. 1. 2. 1.]\n",
      " [1. 1. 1. 1. 2.]]\n"
     ]
    }
   ],
   "source": [
    "c = a + b\n",
    "print(type(c))\n",
    "print(c.shape)\n",
    "print(c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "data = pd.read_csv('data.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "     x    y\n",
      "0  -10  100\n",
      "1   -9   81\n",
      "2   -8   64\n",
      "3   -7   49\n",
      "4   -6   36\n",
      "5   -5   25\n",
      "6   -4   16\n",
      "7   -3    9\n",
      "8   -2    4\n",
      "9   -1    1\n",
      "10   0    0\n",
      "11   1    1\n",
      "12   2    4\n",
      "13   3    9\n",
      "14   4   16\n",
      "15   5   25\n",
      "16   6   36\n",
      "17   7   49\n",
      "18   8   64\n",
      "19   9   81\n",
      "20  10  100\n"
     ]
    }
   ],
   "source": [
    "print(type(data))\n",
    "print(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.series.Series'>\n",
      "0     100\n",
      "1      81\n",
      "2      64\n",
      "3      49\n",
      "4      36\n",
      "5      25\n",
      "6      16\n",
      "7       9\n",
      "8       4\n",
      "9       1\n",
      "10      0\n",
      "11      1\n",
      "12      4\n",
      "13      9\n",
      "14     16\n",
      "15     25\n",
      "16     36\n",
      "17     49\n",
      "18     64\n",
      "19     81\n",
      "20    100\n",
      "Name: y, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "x = data.loc[:,'x'] # 对数据进行索引，索引x列\n",
    "print(type(x))\n",
    "y = data.loc[:,'y'] # 对数据进行索引，索引y列\n",
    "print(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "pandas.core.series.Series"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(21,)"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0    -10\n",
      "1     -9\n",
      "2     -8\n",
      "18     8\n",
      "19     9\n",
      "20    10\n",
      "Name: x, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "c = data.loc[:,'x'][y>50]\n",
    "print(c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'numpy.ndarray'>\n",
      "[[-10 100]\n",
      " [ -9  81]\n",
      " [ -8  64]\n",
      " [ -7  49]\n",
      " [ -6  36]\n",
      " [ -5  25]\n",
      " [ -4  16]\n",
      " [ -3   9]\n",
      " [ -2   4]\n",
      " [ -1   1]\n",
      " [  0   0]\n",
      " [  1   1]\n",
      " [  2   4]\n",
      " [  3   9]\n",
      " [  4  16]\n",
      " [  5  25]\n",
      " [  6  36]\n",
      " [  7  49]\n",
      " [  8  64]\n",
      " [  9  81]\n",
      " [ 10 100]]\n"
     ]
    }
   ],
   "source": [
    "data_array = np.array(data)\n",
    "print(type(data_array))\n",
    "print(data_array)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>x</th>\n",
       "      <th>y</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>110</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>74</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>46</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   x    y\n",
       "0  0  110\n",
       "1  1   91\n",
       "2  2   74\n",
       "3  3   59\n",
       "4  4   46"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_new = data + 10\n",
    "data_new.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "#data to csv file\n",
    "data_new.to_csv('data_new.csv')"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "AI开发实战基础实战summary：\n",
    "1、完成了Python部分基本语法操作，包括：基本运算、列表生成、函数、模块引入\n",
    "2、完成Matplotlib配置，引入相关模块并且进行画图\n",
    "3、完成numpy配置，引入相关模块并且进行运算演示\n",
    "4、完成Pandas配置，引入相关模块并且进行数据载入、引用和存储\n",
    "5、相关库模块参考链接：\n",
    "Matplotlib:  https://matplotlib.org/\n",
    "numpy:  https://www.numpy.org.cn/\n",
    "Pandas:  https://www.pypandas.cn/"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
